package org.naxx.security.model.impl.match;

import org.naxx.security.datatype.DataType;
import org.naxx.security.model.match.AttributeDesignator;
import org.naxx.security.model.match.MatchParentType;

public class AttributeDesignatorImpl implements AttributeDesignator {
	
	protected String attributeId;
	protected String issuer;
	protected boolean mustBePresent;
	protected DataType dataType;
	protected MatchParentType matchParentType = MatchParentType.ACTION;
	
	public AttributeDesignatorImpl() {
	}
	
	public AttributeDesignatorImpl(String attributeId, String issuer, 
			boolean mustBePresent, DataType dataType, MatchParentType matchParentType) {
		
		this.attributeId = attributeId;
		this.issuer = issuer;
		this.mustBePresent = mustBePresent;
		this.dataType = dataType;
		this.matchParentType = matchParentType;
	}
	
	public String getAttributeId() {
		return this.attributeId;
	}
	public DataType getDataType() {
		return this.dataType;
	}
	public String getIssuer() {
		return this.issuer;
	}
	public boolean mustBePresent() {
		return this.mustBePresent;
	}

	public void setMustBePresent(boolean mustBePresent) {
		this.mustBePresent = mustBePresent;
	}

	public void setAttributeId(String attributeId) {
		this.attributeId = attributeId;
	}

	public void setDataType(DataType dataType) {
		this.dataType = dataType;
	}

	public void setIssuer(String issuer) {
		this.issuer = issuer;
	}

	public MatchParentType getMatchParentType() {
		return this.matchParentType;
	}

	public void setMatchParentType(MatchParentType matchParentType) {
		this.matchParentType = matchParentType;
	}
}
